package br.com.wepa.webapps.orca.logica.modelo;

// Generated 12/01/2007 02:01:35 by Hibernate Tools 3.2.0.beta8

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Construtora generated by hbm2java
 */
@Entity
@Table(name = "construtora", catalog = "Orca", uniqueConstraints = {})
public class Construtora implements java.io.Serializable {

	// Fields    

	/**
	 * 
	 */
	private static final long serialVersionUID = 8088145478042669072L;

	private int idConstrutora;

	private Uf uf;

	private String nome;

	private String cidade;

	private Set<Usuario> usuarios = new HashSet<Usuario>(0);

	// Constructors

	/** default constructor */
	public Construtora() {
	}

	/** minimal constructor */
	public Construtora(int idConstrutora, Uf uf, String nome, String cidade) {
		this.idConstrutora = idConstrutora;
		this.uf = uf;
		this.nome = nome;
		this.cidade = cidade;
	}

	/** full constructor */
	public Construtora(int idConstrutora, Uf uf, String nome, String cidade,
			Set<Usuario> usuarios) {
		this.idConstrutora = idConstrutora;
		this.uf = uf;
		this.nome = nome;
		this.cidade = cidade;
		this.usuarios = usuarios;
	}

	// Property accessors
	@Id
	@Column(name = "idConstrutora", unique = true, nullable = false, insertable = true, updatable = true)
	public int getIdConstrutora() {
		return this.idConstrutora;
	}

	public void setIdConstrutora(int idConstrutora) {
		this.idConstrutora = idConstrutora;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.EAGER)
	@JoinColumn(name = "UF_idUF", unique = false, nullable = false, insertable = true, updatable = true)
	public Uf getUf() {
		return this.uf;
	}

	public void setUf(Uf uf) {
		this.uf = uf;
	}

	@Column(name = "nome", unique = false, nullable = false, insertable = true, updatable = true)
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column(name = "cidade", unique = false, nullable = false, insertable = true, updatable = true)
	public String getCidade() {
		return this.cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.LAZY, mappedBy = "construtora")
	public Set<Usuario> getUsuarios() {
		return this.usuarios;
	}

	public void setUsuarios(Set<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

}
